export const AdjustableContainerPropsType_Name = 'AdjustableContainerPropsType'

export type AdjustableContainerPropsType = {
  // 是否开启调整容器宽度
  widthAdjustable?: boolean
  // 容器宽度默认值，如果开启调整容器宽度功能，容器的默认宽度小于最小宽度，则使用最小宽度作为默认宽度；
  // 容器的默认宽度大于最大宽度，则使用最大宽度作为默认宽度
  widthDefault?: number | string
  // 容器最小宽度
  widthMin?: number
  // 容器最大宽度
  widthMax?: number
  // 容器宽度达到指定的最小值时触发的回调函数
  onWidthMin?: (width: number) => void
  // 容器宽度达到指定的最大值时触发的回调函数
  onWidthMax?: (width: number) => void
  // 触发调整容器宽度的元素的宽度
  adjustWidthTriggerWidth?: number | string
  // 触发调整容器宽度的元素的位置
  adjustWidthTriggerPosition?: 'left' | 'right'
  // 是否开启调整容器高度
  heightAdjustable?: boolean
  // 容器高度默认值，如果开启调整容器高度功能，容器的默认高度小于最小高度，则使用最小高度作为默认高度；
  // 容器的默认高度大于最大高度，则使用最大高度作为默认高度
  heightDefault?: number | string
  // 容器最小高度
  heightMin?: number
  // 容器最大高度
  heightMax?: number
  // 容器高度达到指定的最小值时触发的回调函数
  onHeightMin?: (height: number) => void
  // 容器高度达到指定的最大值时触发的回调函数
  onHeightMax?: (height: number) => void
  // 触发调整容器高度的元素的高度
  adjustHeightTriggerHeight?: number | string
  // 触发调整容器高度的元素的位置
  adjustHeightTriggerPosition?: 'top' | 'bottom'
  // 是否开启触发调整容器宽度或高度的元素所在位置下的占位
  placeholder?: boolean
  // 容器的高度是否跟随父元素高度变化而变化，即容器高度为 100%（在 heightAdjustable 为 false 时生效）
  heightFollowParent?: boolean
  // 容器的高度是否跟随浏览器窗口高度变化而变化，即容器高度为 100vh（在 heightAdjustable 为 false 时生效）
  // heightFollowParent 的优先级高于 heightFollowWindow
  heightFollowWindow?: boolean
  // 容器宽度
  width?: number
  'onUpdate:width'?: (width: number) => void
  // 容器高度
  height?: number
  'onUpdate:height'?: (height: number) => void
}
